![]() a plug-in for Cinema 4D XL Splinerounding lets you round or offset splines for many cool effects. It consists of three parts: Linearize Spline, Round Spline and Offset Spline. Each part can be used both as a one-time macro and as an animation effect. Some people have complained that I don't give real world examples of what one can do with my plugs so I have created a whole page full of examples.
Linearize Spline converts a non-linear spline to a linear spline. This is useful cause the offset plug can only deal with linear splines. It can also be useful if one want to apply a point-affecting animation effect such as "Wind" to a spline. When you choose "Linearize spline 1.2..." with a spline selected you are presented with this dialog:
Number of points: The number of points that the resulting linear spline will have. More points will give higher detail and lower less detail. Really low counts may be used for artistical purposes. Copy object first: If "0" the selected object is linearized itself. If "1" the selected object is first copied and the linearized. Recurse hierarchy: If "0" only the selected object is linearized. If "1" all children of the object are also linearized. Example (Number of points=6 to show the linearization effect):
Round Spline is used to round the corners of splines. It either effects all points, just the selected points or just the points with less than a specified angle between the lines meeting in its corner. If you learn how to use it you can really enhance you models by creating roundings along all sides of an extrusion or loft instead of just at the caps. This is the dialog you get if you choose "Round spline 1.2..." with a spline selected:
Radius/Distance: This is the "rounding distance". It is either measured as the radius of the rounding or as the distance from the corner that the rounding starts. See below for more info... Points per corner: The number of points inserted per each rounded corner. More points gives more detail and the other way around. If you enter "2" you will just get cut off corners. The standard value works well for most things. Rounding method: This selects the method the plug uses to place the rounding. If you enter "1" it uses the "Radius/Distance"-value as the radius of the rounding and if you enter "2" it uses it as the distance from the corner that the rounding starts. See below for more info... Angle: Only corners with an angles less than this between its two meeting lines are rounded. Hence 180° rounds every corner and 91° rounds only right and acute angles. It can be useful to limit the angle if you have an spline and only wish to round its angular parts. Only selected points: If "1" only selected points are rounded. This is useful if you only wish to round some parts of you spline or want to have a different radius on some points. The option is automatically set to "1" if there are points selected. Use tangents: If "1" the plug uses hermite tangents (if there are any) to round hermite splines in a more intelligent way. Otherwise it rounds hermite spline as if they were linear (as it does with any other spline type as well BTW). Please note that there can still be some errors when rounding "rounded" parts of hermite splines so please inspect the resulting spline afterwards if you have done so. Copy object first: If "0" the selected object is rounded itself. If "1" the selected object is first copied and the rounded. Recurse hierarchy: If "0" only the selected object is rounded. If "1" all children of the object are also rounded. There are two methods for rounding a corner, either by radius or by distance. When rounding by radius you "place" a circle with the specified radius in each corner and the "draw" along its outline to create the rounding. This is a precise way to round and good for technical applications. But if an angle is very acute the rounding will be far from the actual corner. For such corners it's better to round by the distance from the corner. When rounding by distance you first "mark" the points on the two meeting lines that are on the specified distance from the corner. Then you "draw" two lines through them, each 90° against the original lines. Where the two lines "cross" you place your compasses and "draw" the circle that forms the rounding. With this method different corners will have different radiuses on their roundings depending on their angle but the rounding will never be too far away from the corner. The difference is illustrated in this picture:
Offset Spline is used to offset the points of a linear spline so that the distance between the generated spline and the original is the same everywhere. Here is a simple example of the effect:
The offset can either be "single" or "double". Think of putting a coarse marking pen and dragging it along the spline. The single offset would create one of the edges while the double offset would create a spline all the way round the stroke. The difference is showed here:
If you choose "Offset spline 1.2..." with a spline selected you are presented with this dialog:
Inner distance: This is the distance between the original spline and the offset spline. A single offset uses only this value. This is only the first distance for a double offset. Outer Distance: A double offset uses two offset distances, one for each "edge". This is the second distance for a double offset. Please note that the terms inner and outer doesn't necessarily conform with the natural inner and outer direction of the spline. Method: "1" means a Single Offset will be applied "2" means a Double Offset will be applied See above for more info... Copy object first: If "0" the selected object is offset itself. If "1" the selected object is first copied and the offset. Recurse hierarchy: If "0" only the selected object is offset. If "1" all children of the object are also offset. Reverse Out/In: If this is "1" the inner and outer distance is reversed. This is useful if you think that inner/outer doesn't conform with how your spline looks like. If you have offset a closed spline doubly it is extremely important that this is correct cause otherwise the spline will not extrude correctly (if the bigger spline is a child of the smaller). Here is an example of an object created with double offset:
All of these plugs can also be used as an animation effect. Just create a track, sequence and key on the spline and the plug will create the resulting spline and maintain it if you change the original. The dialogs are the same but the animation plugs doesn't support recursion of children. If you want to apply another effect to the result please keep in mind that XL evaluates plugs from the top of the objects manager and that you should move the result so that it is below the original spline before you apply a track to it. To apply an animation track is a good way to experiment with your models without having to undo and try again all the time. Just change the spline and press ctrl-F (redraw) to see the result. You can also use it to automatically round splines in NURBS. XLent Plugs are distributed by
Splinerounding ©1998, Mikael Sterner |